//
//  ZLLCurveView.h
//  test
//
//  Created by Vincent on 2017/4/24.
//  Copyright © 2017年 Vincent. All rights reserved.
//

#import <UIKit/UIKit.h>



//绘制曲线数据模型
@interface ZLLCurveModel : NSObject

//绘制曲线的y坐标值
@property(nonatomic,assign)float yVal;


//y坐标标示文字
@property(nonatomic,strong)NSAttributedString *yDescription;


+(ZLLCurveModel *)curveModelWithYvalue:(float)yval yDescription:(NSAttributedString *)yDes;



@end



//绘制曲线的组件模型
@interface ZLLCurveComponents : NSObject

/**绘制曲线视图相对该视图top、left、bottom、right的范围
 *默认是（20，35，20，5）
 */
@property(nonatomic,assign)UIEdgeInsets edge;

/**y坐标文字的绘制属性
 *默认是(NSForegroundColor:[UIColor blackColor],NSFont:[UIFont systemFontOfSize:12)
 */
@property(nonatomic,strong)NSDictionary *yDrawOptions;

/**
 *坐标轴颜色(默认为黑色)
 *
 */
@property(nonatomic,strong)UIColor *axisColor;

/**
 *虚线网格线颜色
 *
 */
@property(nonatomic,strong)UIColor *dashColor;

/**
 *y坐标刻度分区数量
 *默认是5个
 */
@property(nonatomic,assign)int ySection;

/**
 *绘制曲线动画时间 -------目前暂不支持动画
 *默认为2秒
 */
@property(nonatomic,assign)NSTimeInterval duration;


/**
 *绘制曲线视图点之间的距离
 *默认为30的距离
 *
 */
@property(nonatomic,assign)float xDensity;




@end





//绘制的曲线视图
@interface ZLLCurveView : UIView

@property(nonatomic,strong)ZLLCurveComponents *components;


/**
 *绘制曲线的数据模型
 *可绘制多条曲线（每一条曲线是一个数组数据模型的封装）
 */
@property(nonatomic,strong)NSArray<NSArray<ZLLCurveModel *> *> *curveArr;


/**
 *绘制的x坐标文字
 *
 */
@property(nonatomic,strong)NSArray<NSAttributedString *> *xDescriptions;


/**
 *x轴文字跳过的个数(默认为1:依次显示）
 *
 */
@property(nonatomic,assign)int jmpXDes;


/**
 *绘制曲线的颜色数组（需要和curveArr 中的元素相对应)
 *
 */
@property(nonatomic,strong)NSArray<UIColor *> *curveColors;

/**
 *绘制曲线
 *
 */
-(void)drawCurve;


@end
